Methods and systems for exploring a corpus of content

ABSTRACT

Methods and systems are described for exploring a corpus of content items stored in one or more information repositories within a distributed communications system.

RELATED APPLICATIONS

The present application is related to the following U.S. patentapplications:

U.S. patent application Ser. No. 11/478,291, entitled “AUGMENTINGRELEVANCE RANKING BY COMMUNITY PARTICIPATION,” filed on Jun. 28, 2006;

U.S. patent application. Ser. No. 11/498,637, entitled “TRUSTPROPAGATION THROUGH BOTH EXPLICIT AND IMPLICIT SOCIAL NETWORKS,” filedon Aug. 2, 2006;

U.S. patent application Ser. No. 11/498,706, entitled “REALTIME INDEXINGAND SEARCH IN LARGE, RAPIDLY CHANGING DOCUMENT COLLECTIONS,” filed onAug. 2, 2006;

U.S. patent application Ser. No. 11/498,682, entitled “USING COMMUNITYANNOTATIONS AS ANCHORTEXT,” filed on Aug. 2, 2006;

U.S. patent application Ser. No. 11/082,202, entitled “SEARCH SYSTEM ANDMETHODS WITH INTEGRATION OF USER ANNOTATIONS FROM A TRUST NETWORK,”filed on Mar. 15, 2005;

U.S. patent application Ser. No. 11/149,323, entitled “APPARATUS ANDMETHOD FOR NORMALIZING USER-SELECTED KEYWORDS IN A FOLKSONOMY,” filed onJun. 8, 2005;

U.S. patent application Ser. No. 11/082,212, entitled “SEARCH SYSTEMSAND METHODS WITH INTEGRATION OF AGGREGATE USER ANNOTATIONS,” filed onMar. 15, 2005; and

U.S. patent application Ser. No. 11/081,871, entitled “SYSTEMS ANDMETHODS FOR COLLECTING USER ANNOTATIONS,” filed on Mar. 15, 2005;

the disclosures of which are herein incorporated by reference in theirentirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material,which is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

FIELD OF INVENTION

The present invention is directed to navigating content within adistributed communications system. More specifically, the presentinvention is directed to systems and methods for distributing relevantcontent stored in one or more information repositories to a plurality ofusers, as well as systems and methods for exploring or otherwisenavigating the same.

BACKGROUND OF THE INVENTION

Since the advent of the global-based Internet, the hypertext transportprotocol that the World Wide Web (“WWW” or “Web”) utilizes has rapidlyevolved as a standard protocol for information retrieval systems fordistributing, discovering, and accessing content of various types. Thesheer volume of content available from the Web continues to accelerate.This is due, at least in part, to the rapid proliferation of digitizedimages, video, and audio, and perhaps more importantly, to theincreasing ubiquitous availability of the underlying Internet as amedium for accessing and exchanging content in a relatively inexpensivefashion.

It is important to be able to target Internet users in a manner that ismost likely to attract their attention and encourage them to download,view, subscribe, or otherwise purchase the marketed content. From theperspective of Internet users, a Web site visitor must engage in thetedious and time-consuming process of browsing multiple sites to searchfor informative, entertaining or otherwise interesting content. At eachsite, multiple content items must be carefully sorted and analyzed,before the visitor may find an item of interest.

Therefore due to the vast and continuous growth of content available onWeb sites, it has become increasingly more difficult to search forhighly relevant content. This difficulty is due, at least in part, to alack of effective tools to support targeted exploration of informationrepositories. For example, tagging is one tool that is useful forexploring information repositories. Generally, tagging is a process bywhich users assign labels in the form of keywords to contents with apurpose to share, discover, and recover the tagged content items.Discovery enables users to find new and interesting content items taggedby other users. Recovery enables a user to recall content items thatwere previously discovered and tagged.

Recently, an increasing number of tagging services are becomingavailable on the web, such as the FLICKR™ Web service, the DEL.ICIO.US™Web service, and the MY WEB 2.0 Web service. The FLICKR™ Web serviceenables users to tag photos and share them with contacts or make thempublicly available. The DEL.ICIO.US™ Web service allows users to taguniform resource locators (URLs) and share tagged URLs with the public.The MY WEB 2.0 web service provides a web-scale social search engine toenable users to find, use, share and expand human knowledge. MY WEB 2.0allows users to save and tag content items available on the Web,allowing for browsing and searching of content items, as well as sharingcontent items within a personalized community or with the public.

By analyzing tags associated with content items, a search engine, forexample, can search across one or more combinations of tags to findspecific content. Even this technique, however, produces a substantiallylarge result set that is difficult to manage and present to a user inmeaningful manner. Accordingly, Internet users need to be able toquickly filter out content (e.g., search results) that is not written orrecorded in a preferred language, restricted to a preferred geographicregion, consistent with local customs or regulations, or several otherprinciples that determine the relevancy of search results.

As more content providers take advantage of the Internet, and as userexpectations of Internet applications continue to grow insophistication, conventional systems of browsing or searching forcontent have grown inadequate. Conventional systems lack easy-to-learninteractive user interface designs and useful navigational tools forbrowsing content items.

Accordingly, there is a need for an intelligent and efficient techniquefor browsing relevant content items from a variety of sources over oneor more networks, such as the Web, using a number of disparate clientdevices.

BRIEF SUMMARY OF THE INVENTION

Methods and systems are described herein for collecting content itemsand annotations regarding the same over one or more interests, as wellas providing systems and methods for navigating, exploring anddiscovering the content items and annotations. According to oneembodiment, the invention provides a user with a context in which toshare content items (and related annotations) with his or her peersaccording to the subject matter of the content items. Another embodimentcontemplate exposing a user to new an novel content items that have beenrated, reviewed or otherwise annotates by his or her peers. A thirdembodiment provides users with systems and methods to create a resourceof content items that a user may browse on the basis of topicality orquality. An annotation, as used herein, may comprise any informationregarding a given content item, e.g., a number of times users save thegiven content item, votes that the given content item is interesting,comments or commentary regarding the given content item, informationregarding the given content item itself, etc.

Systems and methods according to embodiments of the present inventionare operative to save content items and related annotations inaccordance with one or more interests to which the content item andrelated annotations belong. Accordingly, a mechanism is provided to drawthe attention of users to new content items that become available forthe one or more interests. Providing content items and relatedannotations according to one or more interests to which the content itemand related annotation belong allows individuals to share content itemsthat they discover to provide their peers with a growing source ofinformation regarding a given interest.

Other embodiments of systems and methods in accordance with the presentinvention provide for the navigation and visualization of a corpus ofcontent items and any related annotations, which may be organizedaccording to one or more interests to which a given content itembelongs. A given content item may include web pages, text, images,video, audio, television programming, webcast information, or the like.Organization and visualization of content items within a given interestmay take into account the time since which a user provides given contentitem, the number of users providing the given content item, whetherusers vote for a content item as interesting (which may include explicitand implicit votes that a content item is interesting), etc.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanyingdrawings, which are meant to be exemplary and not limiting, in whichlike reference numbers indicate identical or functionally similarelements, additionally in which the leftmost digit(s) of a referencenumber identifies the drawing in which the reference number firstappears, and in which:

FIG. 1 illustrates a system for collecting content items and annotationsregarding the same over one or more interests, as well as providingsystems and methods for navigating, exploring and discovering thecontent items and annotations according to one embodiment of the presentinvention;

FIG. 2 presents a flow diagram illustrating a method for registering oneor more interests according to one embodiment of the present invention;

FIG. 3 presents a flow diagram illustrating a method for providing adashboard for the navigation of one or more registered interestsaccording to one embodiment of the present invention;

FIG. 4 presents a flow diagram illustrating a method for determining anactivity level for a given interest according to one embodiment of thepresent invention;

FIG. 5 presents a flow diagram illustrating a method for generating aninterest page for a given interest according to one embodiment of thepresent invention;

FIG. 6 presents a flow diagram illustrating a method for determiningfeatured content items for a given interest and generating an archiveaccording to one embodiment of the present invention;

FIG. 7 presents a flow diagram illustrating a method for generating acommunity build directory on the basis of one or more interestsaccording to one embodiment of the present invention;

FIG. 8 presents a flow diagram illustrating a method for determining oneor more experts for a given interest according to one embodiment of thepresent invention;

FIG. 9 presents a flow diagram illustrating a method for generating apersonal page for a given user according to one embodiment of thepresent invention;

FIG. 10 presents a screen diagram illustrating an interface for aninterest page according to one embodiment of the present invention;

FIG. 11 presents a screen diagram illustrating an interface for a userpage according to one embodiment of the present invention;

FIG. 12 presents a screen diagram illustrating an interface for a searchpage according to one embodiment of the present invention;

FIG. 13 presents a screen diagram illustrating an interface for activecontent items in a given interest according to one embodiment of thepresent invention; and

FIG. 14 presents a screen diagram illustrating an interface foridentifying a content item as an interesting content item andpropagating a content item over one or more interests according to oneembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In the following description of embodiments of the invention, referenceis made to the accompanying drawings that form a part hereof and inwhich is shown by way of illustration a number of specific embodimentsin which the invention may be practiced. It is to be understood thatother embodiments may be utilized and structural changes may be madewithout departing from the scope of the present invention.

Methods and systems are described herein for collecting content itemsand annotations regarding the same over one or more interests, as wellas providing systems and methods for navigating, exploring anddiscovering the content items and annotations located at one or morelocal and remote information repositories throughout a widelydistributed communications system, such as the global-based Internet.The available content items include images, video, audio, televisionprogramming, shared photograph albums, webcasts, movies, sportingevents, musical performances, radio broadcasts, news reports,infomercials, online games, weblogs, or other forms of on-demand,unicast, multicast, or broadcast media or multimedia. As described ingreater detail below, tags or other classification mechanisms may beanalyzed to reduce an initial corpus to a smaller, more relevantcollection of content items applying specific user or marketpreferences, a customizable navigational guide may be produced toprovide a personalized view of content items and to enable efficientaccess to content matching specified relevancy and interest standards.

FIG. 1 illustrates a system for exploring a corpus of content itemaccording to one embodiment of the invention. According to FIG. 1, theexemplary embodiment comprises an interest server 102, one or morecontent servers 108, 110 and 112 and one or more client devices 114, 116and 118 in communication over a network 104. The network 104 maycomprise any combination of local and wide area networks over both wiredand wireless infrastructure, for example, the Internet. The network 104provider a communications medium over which the interest server 102,content servers 108, 110 and 112 and client devices 114, 116 and 118 maytransmit and receive data.

According to one embodiment of the invention, a client device 114, 116and 118 is a general purpose personal computer comprising a processor,transient and persistent storage devices, input/output subsystem and busto provide a communications path between components comprising thegeneral purpose personal computer. For example, a 3.5 GHz Pentium 4personal computer with 512 MB of RAM, 40 GB of hard drive storage spaceand an Ethernet interface to a network. Other client devices areconsidered to fall within the scope of the present invention including,but not limited to, hand held devices, set top terminals, mobilehandsets, PDAs, etc.

A user of a client device 114, 116, and 118 communicatively coupled tothe network 104 may access a variety of content items at content servers108, 110, and 112 available on the network 104 through use of a browser(not pictured) installed upon a given client device 114, 116, and 118.For example, a user of a client device 114, 116, and 118 may direct abrowser installed upon the client device 114, 116, and 118 to access agiven uniform resource locator (“URL”) that identifies a location of acontent item. The content item at the URL that the browser 142 accessesmay comprise content items including, but not limited to, a website, anaudio file, a video file, an image, a web page, document, etc.

In addition to directly accessing content items available at the one ormore content servers 108, 110 and 112, a given client device 114, 116,and 118 may communicate with the interest server 102 over the network104 to browse or otherwise navigate a corpus of content items on aper-interest basis. According to one embodiment, the interest servercomprises a number of software modules including, but not limited to, auser interface module 120, an interest module 122, an interest pagegenerator 128, an index module 136 and a search engine module 132.Additional, the interest server 102 may comprise a number of data storesfor the persistent storage of data that is of relevance to the interestserver 102 including, but not limited to, an interest page data store130, a profile data store 126, a content data store 124 and an indexdata store 134. The interest server may also be in communication withone or more remote content data store 106. A given data store that thesystem utilizes may include, but is not limited to, a flat file datastructure (comma or tab delimited value file), a relational database, anobject-oriented database, a hybrid object-relational database, etc.

A user wishing to access the functionality of the interest server 102may create an account with the interest server 102 to browse orotherwise navigate a corpus of content items that are relevant to agiven interest. It should be noted that the creation of an account isnot a prerequisite for a given user to browse or otherwise navigate thecorpus of content items, or links thereto, that the interest server 102maintains. The user utilizes a given client device 114, 116 and 118 toinitiate a connection over the network to the interest server 102. Theuser interface module 120 at the interest server 102 may transmit a homepage for the interest server 102 to the client device 114, 116 and 118through which the user may select a control to generate an account.Selection of a control in the user interface to generate an accountinvokes business logic at the interest module 122 to begin the accountgeneration process.

According to one embodiment, the user interface 120 prompts the user toprovide or otherwise identify one or more topics in which the user hasan interest. Using a given client device 114, 116 and 118, the usersupplies keywords that indicate the topics in which he or she has aninterest. As is explained in greater detail herein, the user interfacemodule 120 transmits the keywords that the user supplies to the interestmodule 122, which performs a check of a given interest page (which theinterest page data store 130 may maintain) that is associated with agiven keyword to determine an activity level for the given interestpage.

In order to allow users to agree upon one or more appropriate interestswith which to share content items, as well as to suppress theproliferation of multiple interests for sharing content items withsimilar subjects, the system provides users with an activity level of agiven interest, which according to one embodiment is a measure of theamount of content that users are providing to a given interest.Accordingly, the interest module 122 may pass the activity level for agiven page to the user interface module 120 for display on the clientdevice 115, 116 and 118. Where the activity level for a given interestpage in low, the interest module 122 may determine one or more relatedinterests with a higher activity level. The user interface 120 transmitsthe one or more related interests to the client device 114, 116 and 118,which may also include an activity level for a given related interest.

Topics that the user identifies as interests interest are written to aprofile for the user at the profile data store 126. The profile datastore 126 stores information regarding one or more registered users on aper-user basis. Accordingly, the profile for a given user identifiesinformation regarding the interests of the given user, and may alsocomprise personal information regarding the given user. As is explainedin greater detail herein, a profile at the profile data store 126 mayalso maintain information regarding content items that the user hasranked or otherwise commented upon, content items that the user providesto the interest server 102, and the interests pages with which the usershares a given content item.

When a given registered user accesses the interest server, the userinterface module 120 may present the user with a “dashboard” of his orher interests. According to one embodiment, the interest module 122accesses information regarding the interests of the given user that theprofile data store 126 maintains. On the basis of the interest of theuser, the interest module 122 retrieves an interest page thatcorresponds to a given interest of the user. The user interface module120 may provide a unified interface to the one or more interest pages,for example, though a tabbed interface wherein a given tab correspondingto a given interest, thereby allowing the user to quickly navigatebetween interest pages. The dashboard that the user interface module 120provides may also comprise summary information regarding the interestsof the given user. For example, the dashboard may comprise links to aselection of the most popular content items from the interests of agiven user. Alternatively, or in conjunction with the foregoing, theuser interface module 120 may generate a dashboard that comprises one ormore links to the newest content items from the interests of the givenuser.

The user may access an interest page for a given interest, which theuser may select from the dashboard or other interface that the userinterface component 120 provides. According to one embodiment, aninterest page for a given interest comprises links to content items thatare relevant to the given interest. A user may submit one or more linksto content items that he or she believes is relevant to a given interestfor storage in a content data store 124. The content data store 124 maymaintain a link to a given content item, a cached copy of the givencontent item, as well as combinations thereof (collectively referred toherein as content items). When the user submits a content item to theinterest server 102 through an interface that the user interface module120 provides, the content data store 124 may maintain the content itemin conjunction with information regarding one or more interests withwhich the content item is associated. The profile for the user at theprofile at the profile data store 126 may also maintain informationregarding the content item that the user provides to the interest server102.

On a periodic basis, the interest page generator 128 identifies contentitems at the content data store 124 that users indicate are associatedwith a given interest. The interest page generator 128 produces aninterest page for the given interest that comprises one or more of thecontent items that users indicate are associated with the giveninterest. The interest page data store 130 maintains data regarding theinterest pages, e.g., the content items that are responsive to a giveninterest. Accordingly, as the number of content items that uses providefor a given interest increases, the interest page that the interest pagegenerator 128 produces comprises an increasing number of content items.The interest page generator 128 may also provide an indication of theuser who supplied the content item to the interest, which may alsocomprise a link to a personal page for the user. It should be noted bythose of skill in the art that the interest page generator 128 maygenerate a given interest page in real-time or otherwise in response toa request for the given interest page from the user, as opposed topre-generating the given interest page for persistent storage at theinterest page data store 130.

When the user interface module 120 transmits an interest page to a givenclient 114, 116 and 118, the user interface that the interest pageprovides may comprise an “interesting” control. The interesting controlallows users within a given interest, as represented by the interestpage for the given interest, to specify those content items within aninterest page that the user finds interesting. Selection of theinteresting control by the user may invoke computer code or otherbusiness logic at the interest module 122 to write an indication of theevent to the content data store 125 in conjunction with informationregarding the content item. For example, where the user selects aninteresting control to indicate that a given content item isinteresting, the interest server 102 maintains an indication of thisevent, which the interest module 122 may write to the content data store124. Additionally, the interest module 122 may write an indication ofthe event to the profile for the given user that the profile data store126 maintains.

Content items that the interest page generator 128 includes on a giveninterest page may change as a function time or activity. According toone embodiment, a given interest page comprises a number of contentitems below a threshold and that as the number of content itemsassociated with the given interest page exceeds the threshold, contentitems are removed from the interest page, which may accordingly beviewed as a FIFO with a number of positions in the queue equal to thethreshold value. Alternatively, the content items that interest pagegenerator 128 includes on a given interest page is a function of timeand activity, whereby content items that users identify as interestingremain on the interest page longer than those content items that usersdo not deem interesting. The interest page generator 128 may utilize aranking function with time and number of votes as input, outputting ascore whereby the score is decreases the longer a content item is on agiven interest page and increases as users identify the content item asinteresting. Those content items with scores that exceed a thresholdremain on the interest page. Those of skill in the art recognize thatother functions and techniques for limiting the number of content itemsthat the user interface module 120 displays on a given interest page aswell as how long to display a content item on a given interest page.

In addition to providing content items to the interest server 102 andidentifying interesting content items within a given interest, the userinterface module 120 also provides controls to allow a user to propagatecontent items among one or more interest pages. Propagating a contentitems between one or more interest pages may be done when the useprovides a content item to the interest server 102, or may be done asthe user is browsing content items within a given interest page.According to one embodiment, when a user identifies a given content itemas interesting, the user interface provides a control (e.g., text entrybox) that allows the user to identify other interest pages to which thecontent item is relevant. For example, where the user is identifying acontent item regarding the Sun on an interest page devoted to physics,the user may also indicate that the content item is relevant toastronomy and solar energy, thereby propagating the content item tothose interest pages. The interest module 122 receives the indication ofother relevant interest pages for the content item from the user via theuser interface module 120, which the interest module 122 writes to thecontent data store 124 in association with the content item that theuser identifies.

An interest page for a given interest may also indicate one or morerelated interests. According to one embodiment, a given interest may bethought of as a “tag” or keyword that describes the content items thatare associated with a given interest or interest page. Given an initialinput tag, the interest page generator 128 may identify other relatedinterests. As an interest may be thought of as a tag, the interest pagegenerator 128 may utilize tag recommendation systems to identify relatedinterests. U.S. patent Ser. No. 11/503,051, entitled “SYSTEM AND METHODFOR PROVIDING TAG-BASED RELEVANCE RECOMMENDATIONS OF BOOKMARKS IN ABOOKMARK AND TAG DATABASE,” filed on Aug. 11, 2006, the disclosure ofwhich is hereby incorporated by reference herein in its entirety,describes one exemplary tag recommendation system that the interest pagegenerator 128 may utilize. Clustering algorithms that are known to thoseof skill in the art may also be utilized to identify related interests,for example, U.S. Pat. No. 7,051,023, entitled “SYSTEMS AND METHODS FORGENERATING CONCEPT UNITS FROM SEARCH QUERIES,” the disclosure of whichis hereby incorporated by reference herein in its entirety. The interestpage generator 128 may also determine an activity level for a given oneof the one or more related interests, which the user interface component120 may transmit to a client device 114, 116 an 118 for presentation tothe user.

According to one embodiment of the invention, the interest pagegenerator 128 utilizes a controlled vocabulary in conjunction with theinterest folksonomy that users create. Using one or more trustedsources, such as an encyclopedia (e.g., wikipedia), thesaurus,dictionary, etc., it is possible to discover or otherwise identify termsor concepts that have a relationship with a given interest. For example,where the given interest is “fish,” an encyclopedia may indicate theterms “animal, ocean, astrology (Pisces), food (sushi), etc, are relatedto the term fish. The interest page generator 128 may identify theseterms as related interest to the interest “fish.” According to oneembodiment, the interest page generator 128 may use terms (interests)from the controlled vocabulary to influence a set of one or more relatedinterests such that interests in common between the folksonomy and thecontrolled vocabulary are presented more prominently or otherwiseweighted heavier than those interests that do not appear in thecontrolled vocabulary. Alternatively, or in conjunction with theforegoing, the user interface module 120 may display related interestsfrom the controlled vocabulary apart or otherwise distinct from relatedinterests from the folksonomy.

The interest page generator 128 may also use controlled vocabulary todisplay zeitgeists. For example, where the interest page generator 128has access to a controlled vocabulary of the most common sports names,the interest page generator 128 may run the interests from thecontrolled vocabulary against interests associated with content items inthe content item data store 124 to identify the most active sportsinterest pages for user to explore in greater depth. The interest pagegenerator 128 may produce zeitgeists for any interest that is relativelyunambiguous as is understood by those of skill in the art, for example,a zeitgeist of companies that have been saved the most to one or moreinterests, capitals of the world, states in the United State, countries,etc. The user interface module 120 may transmit this zeitgeistinformation to a client 114, 116 and 118 for display on the dashboard, agiven interest page and combinations thereof.

In addition to the foregoing, the interest page generator 128 may alsoindicate one or more featured content items on an interest page for agiven interest. According to one embodiment, the interest page generator128 identifies a content item as a featured item by identifying thesaved content items associated with a given interest, which may be madeon a per-URL basis and may be limited to canonical URLs. The interestpage generator 128 may eliminate those content items that werepreviously featured content items and organize the content items by themost saves, identifying those content items above a threshold asfeatured content items, e.g., the top five content items. Alternatively,or in conjunction with the following, the interest page generator mayutilize the number of users who identify a content item as aninteresting content item to identify a featured content item.

Featured content items may be identified over one or more time windows,e.g., hourly, daily, weekly, etc. The interest page generator 128 mayindicate in the content data store 124 in conjunction with a givencontent item that the given content item was a featured content item ina given interest and the date on which the content item was identifiedas a featured content item. Because the interest page generator 128 hasaccess to date information with regard to a given content item, the datebased archives of featured content items for a given interest may beprovided to the user. For example, where the interest page generator 128implements month based archiving of featured content items, the userinterface module 120 may provide the use with links to featured contentitems by month whereby the user selects a link for a given month whichcauses the user interface module 120 to retrieve the appropriate monthlyarchive for transmission to a given client device 114, 116 and 118.Alternatively, the interest page generator 128 may receive a request fora monthly archive for a given month for a given interest, query thecontent data store 124 to retrieve the responsive featured contentitems, and pass the featured content items to the user interface module120 for transmission over the network 104 to the requesting client 114,116 and 118.

The system of the present embodiment is also operative to build adirectory on the basis of user interaction with the system. According toone embodiment, a directory of resources may be created by the interestmodule 122 observing the manner in which users are saving content itemsto given interests. For example, a content item, or cluster of relatedcontent items, that has very few or no saves over a period of time undera given interest, followed by a surge or spike in saves of the contentto the interest and a subsequent gradual decline typically represents anews story or an item of topical interest. Conversely, a content item,or cluster of related content items, which users save to a giveninterest at a relatively stable rate as a function of time, mayrepresent a resource, e.g., a reference web site such as a givenwikipedia page or a movie database such as IMDB®. The program code orother business logic at the interest module 122 may analyze these datato identify one or more resources within a given interest. The interestmodule 122 may identify resources within a given interest to the userinterface module 120 for transmission over the network 104 to a givenclient 114, 116 and 118. Alternatively, the interest module 122 mayidentify a resource for a given interest and write an indication to theinterest page data store 130.

As indicated above, users at a client device 114, 116 and 118 may save acontent item to the interest sever 102, as well as marking or otherwiseidentifying interesting content items associated with a given interest.On the basis of combinations of the foregoing events, the interestmodule 122 may identify a given user as an expert with regard to a giveninterest. According to one embodiment, the interest module 122identifies experts on the basis of a point system. When a given userintroduces or otherwise shares a content item (e.g., saves) to a giveninterest for storage in the content data store 124, the interest module122 may award the given user one or more points. As other users vote orotherwise identify the content item that the given user introduces,interest module 122 awards the user additional points, e.g., one or morepoints when another user indicates that the content item is aninteresting content item. When a user amasses a number of points thatexceeds a threshold, the interest module 122 may identify the given useras an expert for the given interest. The interest module 122 may alsoprovide for functionality that allows points to decay over time, e.g.,the given user looses one or more points a week, thereby encouragingusers to continue to introduce content items to the interest sever, aswell as content items that other users who share the interest findinteresting.

According to an alternative embodiment, the interest module 122 mayselect a certain number of users who introduce the greatest number ofcontent items to a given interest, e.g., top three contributors to agiven interest. Similarly, the interest module may select a certainnumber of users who introduce content item that garner a certain numberof votes that the content items they provide are interesting, e.g., topthree vote earners. Still further, the interest module 122 may determinethe expert status of the user as a function of combinations of theforegoing, e.g., number of content items that the user introducesweighted by the number of interestingness votes. According to anotherembodiment, a given user may manually identify one or more other usersas experts in one or more subjects. The number of users who designate agiven user as an expert may influence whether the system identifies thegiven user as an expert.

Regardless of the specific technique that the system uses to determinethat a user is an expert, the interest module 122 writes an indicationof the expert designation of the user in a user profile for the user atthe profile data store 126, which may comprise an indication of thespecific interest in which the user is an expert.

Because the profile data store maintains information regarding theexpert status of a user in one or more interests, as well as the contentitems that the user provides (which the content data store 124maintains), the interest page generator 128 may be operative to generateexpert pages. The user interface 120 may transmit expert pages over thenetwork to a requesting client device 114, 116 and 118. According to oneembodiment, an expert page comprise content items that the user hasintroduced to the system across one or more of the interest of the user,regardless of whether the user is an expert in all of his or herinterests. Alternatively, the expert page that the interest pagegenerator 128 produces identifies one or more content items that theusers introduces to the interest in which the user is an expert.Similarly, the interest page generator 128 may generate one or moreexpert pages on the basis of the one or more interests such that theexpert interest page comprises content items that the experts for theinterest provide to the interest, e.g., a fishing expert interest pagethat contains links to content items from experts in the fishinginterest.

In addition to expert pages, a given user may access his or her personalpage. When a user requests to view his or her personal page, which maybe accomplished via the user interface module 120, the user interfacemodule may retrieve the personal page for the user from the interestpage data store 130 and transmit the personal page over the network 104to the requesting client device 114, 116 and 118. The interest pagegenerator 128 may identify the user (e.g., through the use of a useridentifier) and collect one or more content items from the content datastore 124 with which the user is associated. The interest page generator128 writes these data as a personal page, which the interest page datastore 130 maintains.

The interest page generator 128 may also produce community pages inaddition to interest pages, expert pages and personal pages. Accordingto one embodiment, a community page is similar to an interest pageexcept the interest is a community, as opposed to a specific interest. Auser may interact with the user interface module 120 to provide contentitems to the interest module 122 for inclusion on the community page, aswell as vote or otherwise indicate those content items that the userfinds interesting. The community page may be identical to the interestpage in all other respects.

The interest server 102 comprises a search engine 132 that allows usersto conduct keyword searches for content items that the interest server102 maintains at the content data store 124 and the interest page datastore 130. An index module 136 is in communication with the content datastore 124 and may also be in communication with the profile data store126, thereby providing the index module 136 with access to both contentand profile information, respectively. The index module 136 is operativeto parse the information that the content data store 124 and the profiledata store 126 maintain to generate an index for storage in the indexdata store 134. According to one embodiment, the index is an index ofword-location pairs such that the search engine may locate one or morecontent items that comprise a given word through reference to the wordin the index. Exemplary methods for indexing information are describedin commonly owned U.S. Pat. No. 5,745,889, entitled “METHOD FOR PARSINGINFORMATION OF DATABASE RECORDS USING WORD-LOCATION PAIRS ANDMETAWORD-LOCATION PAIRS,” the disclosure of which is hereby incorporatedby reference in its entirety.

A user may locate one or more content items by accessing the searchengine 132 through an interface that the user interface module 120provides. Using the user interface, the user provides one or more termsor phrases to the search engine 132. The search engine 132 receives theone or more terms or phrases and conducts a search of the index at theindex data store 134 to identify content items that are responsive tothe user search. According to one embodiment, the search engine 132provides a result set comprising zero or more content items that areresponsive to the search, which the user interface component 120 mayproperly format for transmission over the network 104 and display on aclient device 114, 116 and 118.

The result set that the search engine 132 generates may comprise contentitems from the content data store 124 that are responsive to the usersearch. The search engine 132 may also identify one or more interests towhich the content items belong. Because the index component 136 may alsoindex one or more user profiles that the profile data store 126maintains, the search engine 132 may also search across user profileinformation for inclusion of information from responsive profiles in agiven result set. Accordingly, the search engine 132 may search over andprovide a result set that comprises information regarding one or moreinterests, content items and user profiles.

FIG. 2 presents a flow diagram that illustrates a method for registeringone or more interests with an interest server according to oneembodiment of the present invention. According to the embodiment of FIG.2, the process begins with the receipt of a request from a user togenerate a new account, step 202. For example, the user may interactwith the user interface module at the interest server to supply useridentification and other demographic information that describes theuser. The user also identifies one or more interests, step 204, whichthe interest server may receive from the user.

The interest server determines the activity level of a given interestfrom among the one or more interests that the interest server receivesfrom the user, step 206. According to one embodiment, an interest moduleat the interest server queries a content data store to determine theamount of activity in the given interest as a function of the number oramount of content items associated with the given interest, which theinterest module may also determine as a function of time. The interestserver also executes a check to determine if the activity level for theinterest falls below a threshold, step 208.

Where the activity level for the given interest falls below a threshold,step 208, for example, the interest module determines that the activitylevel for the given interest is very quiet, the interest module, orother program code at the interest server may identify one or morerelated interests and an activity level associated with a given one ofthe one or more related interests, step 212. Regardless of whether theactivity level for the given interest falls below the threshold, theinterest server presets the user with the given interest and activitylevel for the given interest, as well as any related interests andassociated activity levels, step 210.

The interest server performs a check to determine if the user providesan additional interest, step 214. If the check at step 214 evaluates totrue, program flow returns to step 204 and the process repeats. Wherethe interest server completes processing of the interests that itreceives from the user, the user selects one or more of the interests orrelated interest that the interest server provides, step 216. Forexample, a first interest may have an activity level of “very active”whereas a second interest has an activity level of “very quiet.”According to the present embodiment, the interest server may identify arelated interest that is related to the second interest and has anactivity level of “active,” allowing the user to select from among theone or more interest or related interests. The interest server maygenerate a user profile for the user and write the interests or relatedinterests that the user selects to the user profile for persistentstorage of the user's interests, step 218.

A users registers with the interest sever, which is operative to providethe user with a portal through which the user may navigate to his or herinterests, referred to herein as a “dashboard.” FIG. 3 illustrates amethod for generating a dashboard comprising one or more interests of agiven user according to one embodiment of the present invention. Theprocess of FIG. 3 begins with the interest server retrieving the userprofile for the given user, step 302. The interest server executes acheck to determine if the user profile for the given user identifies oneor more interests of the given user, step 304. Where the user does notindicate any interests in his or her user profile, the interest servermay identify one or more default interest pages for the given user, step310. The interest server may select the default interest pages a random.Alternatively, or in conjunction with the foregoing, the interest servermay select the default interest pages on the basis of demographicinformation from the user profile, user communities to which the givenuser belongs, users that are related to the given user in a socialnetwork, etc., including combinations thereof.

Where the user profile for the given user identifies one or moreinterests for the given user, the interest server retrieves an interestpage that the user profile identifies, step 306. A check is performed todetermine if the user profile identifies one or more additionalinterests, step 308. Where the check evaluates to true, the interestserver retrieves an interest page for a subsequent interest that theuser profile identifies, step 306.

The interest server may also determine if the user profile for the givenuser identifies any experts, step 312. Alternatively, or in conjunctionwith the foregoing, the interest server may determine if there are anyexperts associated with the one or more interests of the given user.Where the given user identifies one or more experts, the interest servermay retrieve or generate a link to a page for a given expert, step 314.Similarly, where the user identifies neither interests, step 304, norexperts, step 312, the interest server may retrieve or generate one ormore links to one or more corresponding expert pages for defaultexperts, step 316. Alternatively, the interest sever may retrieve orgenerate links to one or more expert pages for experts associated withthe default interest pages. The interest server generates an outputdashboard page comprising the one or more interest pages that the useridentifies in his or her profile (or default interest pages), as well asany related experts, step 318. According to one embodiment, the outputdashboard, or a page for a given expert, identifies one or more contentitems the expert provides.

As the process of FIG. 2 indicates, the interest sever may be operativeto determine an activity level for a given interest that the interestserver is hosting, which the interest server may also provide as part ofthe output dashboard page of FIG. 3. FIG. 4 illustrates one embodimentof a method for determining an activity level for a given interest. Theprocess of FIG. 4 begins with the receipt of an indication of a giveninterest from a calling process, step 402, e.g., a process that requiresan activity level for a given interest to display to the user or toperform a check or other computation. The interest server sets a timewindow and a plurality of activity level thresholds, a given activitylevel threshold identifying criteria for assigning a given activitylevel to a given interest, step 404.

The content data store is queried to determine content items that areresponsive to the given interest, step 406. For example, the query mayreturn a result set that comprises one or more records, a given recordidentifying details of a content item that is associated with the giveninterest. The interest server uses the result set to determine theactivity level of the given interest. A first activity level thresholdis selected from among the plurality of activity level thresholds, step408, a check is performed to determine if the activity level(represented by the number of content items associated with the giveninterest) falls within the threshold, step 410. Where the activity levelis within the threshold, the interest server sets the activity level forthe given interest to an activity level associated with the threshold,step 414. Where the activity level is not within the current activitylevel threshold, step 410, an additional check determines if additionalactivity level thresholds exist, step 412. Where the check at step 412evaluates to true, program flow returns to step 408 with the selectionof a subsequent activity level threshold. Where the check at step 412evaluates to false, the interest sever associates the given interestwith the current activity level, step 414.

The process of FIG. 4 continues with the execution of a check todetermine if any content items associated with the given interest areinteresting content items, step 416. Where the given interest comprisesone or more interesting content items, the interest server may boost orotherwise modify the activity level on the basis of the presence of theinteresting content items, step 420. Regardless of the output of thecheck at step 416, program flow continues with the return of an activitylevel for the given interest, step 418, which the calling process mayreceive.

Embodiments of the present invention utilize one or more interest pagesto organize content items that are directed towards a respective giveninterest. FIG. 5 illustrates one embodiment of a method for generatingan interest page that begins with the selection of a given interest,step 502. A time window is set, e.g., an hour, a day, a month, a year,for the given interest, step 506. According to one embodiment, the timewindow may be set as a function of the activity of the interest. Forexample, an interest that has a “hectic” activity may have a short timewindow as opposed to an interest that is quiet, resulting the hecticinterest. Alternatively, or in conjunction with a time window, athreshold may be set on the basis of a count of a number of items usersare saving to the interest.

Program code at the interest server issues a query to the content datastore to determine a set of zero or more content items that areresponsive to the given interest during the time window, step 508, whichmay also include respective annotations for one or more of the contentitems. The content items are ordered, step 510, which may be inaccordance with a time at which a user provides a given content item tothe given interest. A given content item is selected from the set, step512, and a check is performed to determine if the content item is aninteresting content item, step 514. Where the content item is notinteresting, the method selects a subsequent given content item, step512. Where the content item is interesting, step 514, the position ofthe content item in the set may be boosted, step 516. For example, agiven content item that has been saved a number of times or receives anumber of votes as to the interestingness of the content item, theposition of the content item in the list may be increased.

The method also performs a check to determine if there are additionalcontent items in the set that require processing, step 518. Where thereare additional content items that require processing, program flowreturns to step 512 with the selection of a subsequent content item forprocessing. Where no further content items exist in the set of contentitems that require processing, the ordered set of content items isoutput as an interest page for the given interest, step 520. It shouldbe noted, as other embodiments of the invention illustrate, that a giveninterest page may comprise additional information regarding theinterest, such as information regarding and content items from expertsfor the given interest, etc.

Certain content items that are part of an interest page may be featuredcontent items. FIG. 6 illustrates one embodiment of a method fordetermining featured content items for a given interest, which mayenable the generation of an archive. The process of determining whethera given content item is a featured content item begins with theselection of a given interest, step 602. Additionally, a time window isset and a threshold is set, steps 604 and 606, respectively. Accordingto one embodiment, the threshold may be set in accordance with anactivity level for a given interest, such that the number of featuredlinks goes up as activity increases. The method continues with theidentification of contents items that have been associated with thegiven interest during the time window, step 608, and the elimination ofcontent items previously set as featured content items during the timewindow, step 610.

The interest server performs a check to determine if there are anycontent items in the set, step 612, e.g., to determine if the result setis null or otherwise empty. Where the set of content items is empty, theprocess terminates, step 618. Provided that there are content items inthe set, step 612, the interest server orders the content items, whichmay comprise in accordance with the number of saves of the content itemin conjunction with the given interest, step 614. The position of agiven content item in the order may be weighted as a function ofinterestingness, step 620. According to one embodiment, the more usersthat identify a given content item as an interesting content item, thegreater that weight that the interest server applies. The interestserver applies the weighting for the one or more content items in theset, steps 620 and 622.

As indicated at step 606, process of FIG. 6 sets a threshold to identifythose content items that are featured content items, which in theexemplary embodiment is a rank or position in the ordered set of contentitems. Accordingly, the interest server marks those content items thatexceed the threshold as featured content items for the given interest,step 624, e.g., the top three content items. The interest server writesan indication to the content data store that the marked content itemsare featured content items for the given interest, as well as dateinformation regarding the date on which the marked content wereidentified as featured content items, step 626, and the processcompletes, step 618.

Because the interest server writes an indication to the content datastore regarding the date at which a given content item is identified asa featured content item, the interest page generator may provide a userwith access to archives of featured content items for a given interest.For example, the interest page generator may query the content datastore to retrieve those content items for a given month that arefeatured content items for a given interest, such as providing a link toa page comprising content items that are featured content items for theinterest “physics” in the month of August, 2006.

As described above, the systems of the present invention may utilizecontent items associated with one or more interest pages to generate acommunity built directory. FIG. 7 presents a flow diagram illustrating amethod for generating a community build directory on the basis of one ormore interests according to one embodiment of the present invention. Theprocess of generating a community built directory begins with theselection of a given interest, step 702.

For the given interest, a content item associated with the giveninterest is selected, step 704, and a check performed to determine ifthe content item is a resource, step 706, which may be contrasted with anews story. For example, a content item, or cluster of related contentitems, that has very few or no saves over a period of time under a giveninterest, followed by a surge or spike in saves of the content item tothe interest and a subsequent gradual decline typically represents anews story. Conversely, a content item, or cluster of related contentitems, which users save to a given interest at a relatively stable rateas a function of time, may represent a resource, e.g., a reference website such as a given wikipedia page or a movie database such as IMDB®.According to one embodiment, program code or other business logic at theinterest module may analyze historical save information for the contentitem to identify if the content item is a resource within the giveninterest.

Where program code or other logic at the interest server determines thatthe content item is a resource, the interest server adds the contentitem as an entry in a community built directory whereby the giveninterest is the directory “heading” and the content item is an entryunder the heading, step 708. Regardless of whether the content item is aresource, the interest server performs a check to determine if the giveninterest is associated with one or more additional content items, step710. Where the check at step 710 evaluates to true, program flow returnsto step 704 with the selection of a subsequent content item. Where noadditional content items are associated with the given interest thatrequire processing, the interest server performs a check to determine ifcontent items are associated with one or more additional interests thatrequire processing, step 712. Where the check evaluates to true, programflow returns to step 702 with the interest server selecting a subsequentgiven resource for processing. Where the check evaluates to false, step712, the interest server publishes the directory, step 714, and theprocess terminates.

Experts may be associated with a given interest that the interest servermaintains. FIG. 8 presents a flow diagram illustrating one embodiment ofa method for determining one or more experts for a given interest. Theprocess begins with the selection of a given interest of a given userfrom among the one or more interests that the interest server maintains,step 802. According to one embodiment, the interest module performs acheck to determine if the user shares one or more content items with thegiven interest, step 804, and if so, increments a number of expertpoints that the module allots to the user in the given interest, step806. For example, the interest module may increment the number of expertpoints for the user for sharing a given content item, and may allotadditional points when other users subsequently share the same contentitem.

A check is also performed to determine if the user marks one or morecontent items in the given interest as interesting content items, step808. If the check evaluates to true, the interest module (or otherprogram code at the interest server) may increment the number of expertpoints that the module allots to the user in the given interest, step810. Similarly, where other users mark content items that the usershares with the given interest as interesting, the program code at theinterest server may increment the number of expert points for the user.Another check that the method may perform is whether other usersidentify the user as an expert, either generically or one or morespecific interests, which may influence the number of expert points thatthe interest server may allot to the user.

Another check is made to determine if a time decay is applicable to theuser, step 812. The basis of the time decay may comprise one or moretime windows, a given time window identifying a number of expert pointsto decrement from the user in the given interest. For example, where theuser has not shared a content item with the interest over a number ofdays, the number of expert points for the user in the given interest maybe reduced. Similarly, where other users are not indicating that acontent item that the user shares with the interest is interesting for anumber of days, the number of expert points for the user in the giveninterest may be reduced. If a time decay is to be applied, step 812, atotal number of experts points for the user in the given interest may bereduced, step 814. Where the number of expert points for the user in thegiven interest exceeds a threshold, step 816, the user is set as anexpert in the given interest and an indication of such is written to theprofile of the user, step 818. If the check at step 816 evaluates tofalse, the interest module selects a subsequent given interest for theuser for expert processing in accordance with embodiments of the methodof FIG. 8.

In addition to generating interest pages, embodiments of the presentinvention are operative to generate one or more user pages for a givenuser. FIG. 9 presents a flow diagram illustrating a method forgenerating a personal page for a given user according to one embodimentof the present invention. The process may begin with the receipt of auser identifier, step 902, e.g., the identifier that the interest moduleassigns to the user and writes to the user profile for the user.According to one embodiment, the interest page generator receives theuser identifier, which may query the user profile for the user todetermine his or her interests, step 904.

A time window is set, step 906, and the interest page generator (orother program code at the interest server) queries the content datastore to generate a result set identifying content items that the useris sharing with one or more interests, step 908. A check is performed todetermine if the result set comprises one or more content items, step910, and, if true, select metadata associated with the one or morecontent items, step 912. Metadata according to embodiments of theinvention may include, but is not limited to, a date on which the usershares the content item with the interest, a title for the content item,the name of one or more interests with which the user shares the contentitem, a description of the content item, a thumbnail or reduced sizeimage of the content item, etc. Regardless of the result of the check atstep 910, the interest server calculates a count of the number ofcontent items associated with the given interest, step 914. Where thereare additional interests for processing, step 916, program flow returnsto step 908 with a subsequent given interest.

Processing continues for one or more of the users interests until thecheck at step 916 evaluates to false, at which point the interest pagegenerator may calculate a count of content items associated with a giveninterest with which the user shares one or more content items, step 918.A check is performed to determine if there are addition interests withwhich the user shares one or more content items, step 920, which if trueinstructs the interest page generator to calculate a count of contentitems associated with a subsequent given interest with which the usershares one or more content items, step 918. Similarly, the interest pagegenerator may iterate over the one or more interests of the user todetermine if the system identifies the user as an expert in any of hisor her interests, steps 922 and 924, respectively. The interest pagegenerator may then transmit the user page, step 926. Alternatively, orin conjunction with the foregoing, the interest page generator may storethe user page to an interest page data store for persistent storage ofthe user page.

FIGS. 10 through 14 present screen diagrams that illustrate variousinterfaces that embodiments of the present invention may provide fornavigating the corpus of content items that the system maintains. FIG.10 presents a screen diagram illustrating an interface for an interestpage according to one embodiment of the present invention. The exemplaryinterest page 1002, in this case for the interest “physics,” provideslinks to one or more content items that users share with the interest,for example, content item 1018. A given content item associated with theinterest 1018 and therefore the interest page 1002, may include thedisplay of a title for the content item 1014, as well as time and useridentification information regarding when a given content was shared bya user 1016. The interface may also present a control 1020, theselection of which allows a user to mark a content item as aninteresting content item with regard to the interest. A given contentitem may also include an indication 1022 of the number of users thatselect the content item as an interesting content item.

A given interest page 1002 may provide links to one or more intereststhat are related to the current interest. For example, the interest“education” 1004 is related to the interest “physics,” which is thesubject of the exemplary interest page 1002. Additionally, the interfacemay display an activity level 1006 for a given related interest 1004,allowing the user to navigate the corpus of interests to identify aninterest with a suitable level of granularity on the basis of anacceptable level of activity. A control 1008 also allows the user toindicate that he or she is no longer interested in the exemplaryinterest, the selection of which removes the interest from the userprofile for the given user, which may be executed by program code at theinterest module. Controls also allow the user to toggle the contentitems that the interest page display, e.g., all new pages 1010 for theinterest page 1002 or hot new pages 1012 for the interest page 1002.

FIG. 11 presents a screen diagram illustrating an interface for a userpage according to one embodiment of the present invention. The exemplaryuser page 1102 provides a listing of one or more interests to which theuser subscribes 1004. The selection of a given interest 1004 loads acorresponding interest page for the interest that the user selects. Forexample, selection of the “physics” interest 1022 by the user may loadthe interest page that FIG. 10 illustrates

A given user page 1102 indicates a user name 1106 for the given user andmay also identify one or more interests in which the given user is anexpert 1108. The body of the user page 1102 comprises a three paneinterface to display the interests for the given user 1118 (includingthe number of content items for a given interest), the interests withwhich the user is sharing content items 1120 (including the number ofcontent items for a given interest) and a detailed view of recentcontent items that the user is sharing 1110. The pane that displaysrecent content items that the user is sharing 1110 lists one ore morecontent items, e.g., content item 1112, as well as metadata regarding agiven content item, for example, a date 1116 on which the user begansharing the content item with one or more interests, as well as theinterests with which the user is sharing the content item 1114.

FIG. 12 presents a screen diagram illustrating an interface for a searchresult page according to one embodiment of the present invention. Theexemplary search result page 1202 comprises a pane to display responsivecontent items that comprise the search term that the user is sharing1214 with one or more interests (including links to the one or morecontent items, e g., 1216), as well as content items that experts for agiven user are sharing 1218 with one or more interests. Content itemsthat experts for the user are sharing 1218, for example, content item1220, may also identify the expert that is sharing the content item andthe data on which the expert began sharing the content item 1222, aswell as the interests 1224 with which the expert is sharing the contentitem 1220.

The exemplary search results page 1202 may also comprise navigation andfiltering controls that allow the user to restrict items that theinterface displays as part of the result set and other interests relatedto the term on which the user is searching. For example, the user mayfilter the result set such that the display only presents those contentitems that the user is sharing 1210, content items that the experts forthe user are sharing 1212, or both 1208. On the basis of the search termthat the user provides 1206, systems and methods of the presentinvention may provide and the interface may display interests that arerelated to the search term 1226.

FIG. 13 presents a screen diagram illustrating an interface for activecontent items in a given interest according to one embodiment of thepresent invention. The exemplary interface 1302 provide access to one ormore “hot” content items for a given interest 1308, 1310 and 1312, e.g.,a content item that a number of users above a threshold are indicatingare interesting. For a given content item 1312, the interface maydisplay a thumbnail or reduced size view of the content item 1316, anumeric indictor representing the number of users 1318 who areindicating that the content item is interesting and an indication thatthe content item is a “hot” content item. Additionally, the interfaceprovides controls to mark a given content items as an interestingcontent item 1322, as well as toggle the interface between the displayof hot new content item 1304 and all new content items 1306.

FIG. 14 presents a screen diagram illustrating an interface foridentifying a content item as an interesting content item andpropagating a content item over one or more interests according to oneembodiment of the present invention. The exemplary dialog box 1402allows the user to identify a title for the content item 1404 that maydiffer from the actual title of the content item, a review ordescription 1406 of the content item and one or more interests to whichthe system should propagate the content item 1408. The one or moreinterests to which the system should propagate the content item may be acomma or space separated list of interests. By saving the information1412, the system associates the content item with one or more otherinterests that the user identifies. If the user selects a cancel control1410, the dialog 1402 closes and the system does not save the data.

FIGS. 1 through 14 are conceptual illustrations allowing an explanationof the present invention. It should be understood that various aspectsof the embodiments of the present invention could be implemented inhardware, firmware, software, or a combination thereof. In such anembodiment, the various components and/or steps would be implemented inhardware, firmware, and/or software to perform the functions of thepresent invention. That is, the same piece of hardware, firmware, ormodule of software could perform one or more of the illustrated blocks(e.g., components or steps). Unless explicitly stated otherwise herein,the ordering or arrangement of the steps and/or components should not belimited to the descriptions and/or illustrations hereof.

In software implementations, computer software (e.g., programs or otherinstructions) and/or data is stored on a machine readable medium as partof a computer program product, and is loaded into a computer system orother device or machine via a removable storage drive, hard drive, orcommunications interface. Computer programs (also called computercontrol logic or computer readable program code) are stored in a mainand/or secondary memory, and executed by one or more processors(controllers, or the like) to cause the one or more processors toperform the functions of the invention as described herein. In thisdocument, the terms “machine readable medium,” “computer program medium”and “computer usable medium” are used to generally refer to media suchas a random access memory (RAM); a read only memory (ROM); a removablestorage unit (e.g., a magnetic or optical disc, flash memory device, orthe like); a hard disk; electronic, electromagnetic, optical,acoustical, or other form of propagated signals (e.g., carrier waves,infrared signals, digital signals, or the like); or the like.

Notably, the figures and examples above are not meant to limit the scopeof the present invention to a single embodiment, but other embodimentsare possible by way of interchange of some or all of the described orillustrated elements. Moreover, where certain elements of the presentinvention can be partially or fully implemented using known components,only those portions of such known components that are necessary for anunderstanding of the present invention are described, and detaileddescriptions of other portions of such known components are omitted soas not to obscure the invention. In the present specification, anembodiment showing a singular component should not necessarily belimited to other embodiments including a plurality of the samecomponent, and vice-versa, unless explicitly stated otherwise herein.

It is to be understood that the phraseology or terminology herein is forthe purpose of description and not of limitation, such that theterminology or phraseology of the present specification is to beinterpreted by the skilled artisan in light of the teachings andguidance presented herein, in combination with the knowledge of oneskilled in the relevant art(s). Moreover, it is not intended for anyterm in the specification or claims to be ascribed an uncommon orspecial meaning unless explicitly set forth as such. Further, thepresent invention encompasses present and future known equivalents tothe known components referred to herein by way of illustration. Whilevarious embodiments of the present invention have been described above,it should be understood that they have been presented by way of example,and not limitation. It would be apparent to one skilled in the relevantart(s) that various changes in form and detail could be made thereinwithout departing from the spirit and scope of the invention. Thus, thepresent invention should not be limited by any of the above-describedexemplary embodiments, but should be defined only in accordance with thefollowing claims and their equivalents.

What is claimed is:
 1. A computer implemented method for organizing acontent item[s] within a distributed communications system, the methodcomprising: electronically, via at least one processing device,receiving a link to each of a plurality of content item from a user;electronically, via at least one processing device, determining one ormore interests related to each of the content item; electronically, viaat least one processing device, determining an activity level of each ofthe plurality of interests, wherein the activity level is determined bya number of times the user saves a link to a content item associatedwith each of the plurality of interests; electronically, via at leastone processing device, storing links to the content items in conjunctionwith the one or more interests related to the content items and therespective activity levels; electronically, via at least one processingdevice, determining that an activity level associated with at least oneof the plurality of interests does not exceed a first threshold level ofactivity; electronically, via at least one processing device, generatingan interest page, comprising; the at least one of the plurality ofinterests that does not exceed the first threshold level of activity;links to content items associated with the at least one of the pluralityof interests that does not exceed the first threshold level of activity;links to at least one other of the plurality of interests with anactivity level that exceeds a second threshold level of activity; andthe activity level of the at least one other of a plurality ofinterests.
 2. The method of claim 1 wherein the interest page isperiodically updated based on at least two of: time, the first or secondthreshold level of activity, and observed user activity.
 3. The methodof claim 1 wherein the interest page comprises the content item asfeatured.
 4. The method of claim 1 further comprising rewarding the userfor the link to the content item, wherein the rewarding comprisesassigning one or more points to the user for the link to the contentitem.
 5. The method of claim 4 further comprising designating the useras an expert for the one or more interests related to each of thecontent item when a certain number of points is obtained; and storingthe expert designation to a profile associated with the user.
 6. Themethod of claim 4 further comprising decrementing a number of pointsassigned to the user after expiration of a time window.
 7. The method ofclaim 5 wherein the user profile comprises the link to the content itemassociated with each of the plurality of interests; the method comprisesgenerating an expert page comprising the link to the content item. 8.The method of claim 1 further comprising retrieving a personal pageassociated with the user; wherein the personal page comprises anidentity of the user and the links to the content items associated withthe user.
 9. The method of claim 1 further comprising receiving a votefrom a user that the content item is an interesting content item; andretrieving a community page comprising the voted content item.
 10. Themethods of claim 1 further comprising receiving keywords from the user;performing a search based on the keywords; returning a result setcomprising the link to the content item or one or more interests relatedto the keywords.
 11. A distributed communications system comprising atleast one server coupled to at least one client device over a network,the at least one server operable at least to: receive a link to each ofa plurality of content items from a user; determine one or moreinterests related to each of the content item; determine an activitylevel of each of the plurality of interests, wherein the activity levelis determined by a number of times the user saves a link to a contentitem associated with each of the plurality of interests; store links tothe content items in conjunction with the one or more interests to thecontent items and the respective activity levels; determine that anactivity level associated with at least one of the plurality ofinterests does not exceed a first threshold level of activity; generatean interest page, comprising: the at least one of the plurality ofinterests that does not exceed the first threshold level of activity;links to content items associated with the at least one of the pluralityof interests that does not exceed the threshold level of activity; linksto at least one other of the plurality of interests with an activitylevel that exceeds a second threshold level of activity; and theactivity level of the at least one other of a plurality of interests.12. The system of claim 11, wherein the interest page is displayed in adashboard or tabbed interface comprising links to most popular contentitems or links to newest content items.
 13. The system of claim 11,wherein the interest page further comprises an indication of each userwho supplied the links to the content items and a link to the user'spersonal page.
 14. The system of claim 11, wherein the interest page isperiodically updated based on at least two of: time, the first or secondthreshold level of activity, and observed user activity.
 15. The systemof claim 14, wherein the first and the second threshold level ofactivity comprises a ranking function or vote, and wherein the serverupdates the interest page when the threshold is exceeded.
 16. The systemof claim 11, the at least one server further operable to determine oneor more interests to which the one or more content items belongs basedon input from the one or more users.
 17. The system of claim 11, the atleast one server further operable to designate the one or more usersbased on the first and second threshold level of activity,contributions, votes, or weights, and store the designation to one ormore profiles related to the one or more users.